<html>
<head>
<link rel='stylesheet' href='../../../js/sh/SyntaxHighlighter.css' type='text/css' />
<script src='../../../js/sh/shCore.js'></script>
<script src='../../../js/sh/shBrushJava.js'></script>
<style>
* {
font-family:Courier New,monospace;
  padding: 0;
  margin: 0;
  white-space: nowrap;
  font-size: 11px;
}
.dp-highlighter {
  white-space: nowrap;
  overflow: visible;
  width: 600px;
  font-size: 11px;
  font-family:Courier New,monospace;
}
</style>
</head>
<body>
<textarea name='code' class='java:nogutter' rows='15' cols='120'>
/*
 * SmartGWT (GWT for SmartClient)
 * Copyright 2008 and beyond, Isomorphic Software, Inc.
 *
 * SmartGWT is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License version 3
 * as published by the Free Software Foundation.  SmartGWT is also
 * available under typical commercial license terms - see
 * http://smartclient.com/license
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 */

import com.smartgwt.client.types.TreeModelType;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.layout.VLayout;
import com.smartgwt.client.widgets.tree.Tree;
import com.smartgwt.client.widgets.tree.TreeGrid;
import com.smartgwt.client.widgets.tree.TreeNode;

public class AnimateTreeSample implements EntryPoint {
    

    public void onModuleLoad() {
        
        Tree animalTree = new Tree();
        animalTree.setModelType(TreeModelType.CHILDREN);
        animalTree.setNameProperty("Name");
        animalTree.setRoot(new AnimateTreeNode("Zoo",
            new AnimateTreeNode("Aquarium",
                new AnimateTreeNode("Salt Water", 
                    new AnimateTreeNode("Bottlenose Dolphin"),
                    new AnimateTreeNode("Giant Pacific Octopus")
                ),
                new AnimateTreeNode("Fresh Water", 
                    new AnimateTreeNode("Freshwater Stingray")
                )
            ),
            new AnimateTreeNode("Reptile House",
                new AnimateTreeNode("Lizard House", 
                    new AnimateTreeNode("Cuban Ground Iguana"),
                    new AnimateTreeNode("Desert Iguana"),
                    new AnimateTreeNode("Marbled Salamander")
                ),
                new AnimateTreeNode("Snake House", 
                    new AnimateTreeNode("Indian Rock Python")
                ),
                new AnimateTreeNode("Monkey House", 
                    new AnimateTreeNode("Howler Monkey"),
                    new AnimateTreeNode("Orangutan"),
                    new AnimateTreeNode("Guinea Baboon")
                ),
                new AnimateTreeNode("Lion Enclosure",
                    new AnimateTreeNode("Lion")
                )
            )
        ));
        
        TreeGrid animalTreeGrid = new TreeGrid();
        animalTreeGrid.setData(animalTree);
        animalTreeGrid.setWidth(300);
        animalTreeGrid.setHeight(300);
        animalTreeGrid.setAnimateFolders(true);
        animalTreeGrid.setAnimateFolderSpeed(100);     
        
        VLayout layout = new VLayout();
        layout.setMembersMargin(10);
        layout.addChild(animalTreeGrid);
        layout.draw();
    }

    public static class AnimateTreeNode extends TreeNode  {
        public AnimateTreeNode(String name, AnimateTreeNode...children) {
            setTitle(name);
            setChildren(children);
        }        
    }

}
</textarea>
<script class='javascript'>
dp.SyntaxHighlighter.HighlightAll("code");
</script>
</body>
</html>
